---
title: SAIF.Business.Tasks.Claim operations and processes
summary: Business and technical operations supported by this library.
status: draft
owner: SAIF Documentation
last_reviewed: 2026-08-21
library: SAIF.Business.Tasks.Claim
reference_type: embedded
---

# SAIF.Business.Tasks.Claim operations and processes

This page is the operation catalog and cross-operation hub for this library. Each operation's detailed, step-by-step logic lives in its own page under `operations/`.

## Operation catalog
| Operation | Intent | Trigger | Inputs | Outputs | Rules | Tables | SQL |
| --- | --- | --- | --- | --- | --- | --- | --- |
| [Create a claim task](operations/op-1-create-claim-task.md) | Instantiate a new claim task bound to a claim | Caller requests a new claim task | `IDataPortalInfo`, `ClaimID`, optional create user | New dirty `clsClaimTask` | [BR-CT-01](business-rules.md#br-ct-01-claim-task-must-reference-a-resolvable-claim) | — | — |
| [Bulk-raise claim tasks](operations/op-2-bulk-raise-claim-tasks.md) | Raise one or more workflow tasks against claims in bulk | Application process needs to raise tasks | Text, optional assignee/due date/priority/category | Tasks queued and persisted | [BR-GEN-01](business-rules.md#br-gen-01-generated-task-must-specify-a-claim), [BR-GEN-02](business-rules.md#br-gen-02-generated-task-due-date-normalized-to-a-working-day), [BR-GEN-03](business-rules.md#br-gen-03-default-assignee-is-the-responsible-adjuster), [BR-GEN-04](business-rules.md#br-gen-04-default-create-user-is-the-data-portal-user), [BR-GEN-05](business-rules.md#br-gen-05-generated-tasks-claim-must-resolve-to-a-valid-claim-record), [BR-CT-10](business-rules.md#br-ct-10-claim-tasks-default-to-the-manage-claims-category) | — | — |
| [Enrich a loaded claim task](operations/op-3-enrich-loaded-claim-task.md) | Populate claim attributes and task context on load | Called by base `Fill` during retrieve/load | Loaded task row | Populated claim attributes | — | — | [SQL-001](sql/SQL-001-select-additional-fields.md) |
| [Load claim display/confidentiality fields](operations/op-4-load-claim-display-fields.md) | Fetch claim number, worker name, and confidentiality flags in bulk | List-path enrichment from OP-3 | `ClaimID` | Nine `InputOutput` values | [BR-MY-01](business-rules.md#br-my-01-confidential-worker-name-redaction) | — | [SQL-001](sql/SQL-001-select-additional-fields.md) |
| [Retrieve a filtered claim task list](operations/op-5-retrieve-filtered-claim-task-list.md) | Return claim tasks matching a filter | Application requests claim tasks | `ClaimTaskCriteria` | Populated `clsClaimTaskCollection` | [BR-CT-11](business-rules.md#br-ct-11-claim-tasks-always-report-claims-source-system) | — | — |
| [Retrieve and redact "my tasks"](operations/op-6-retrieve-and-redact-my-tasks.md) | Return a user's personal task list with confidentiality masking | User opens their personal task list | `MyTaskCriteria` | Sorted, access-filtered task list | [BR-MY-01](business-rules.md#br-my-01-confidential-worker-name-redaction), [BR-MY-02](business-rules.md#br-my-02-urgent-claims-grouped-ahead-in-my-tasks-sort), [BR-MY-03](business-rules.md#br-my-03-unsupported-task-source-system-cannot-be-loaded) | — | [SQL-001](sql/SQL-001-select-additional-fields.md) |
| [Assign the claim-grouped sort key](operations/op-7-assign-claim-grouped-sort-key.md) | Compute the "my tasks" grouping/sort key | Called from `Add` and `AfterRetrieve` | Task row, prior row state | `sortBy` value assigned | [BR-MY-02](business-rules.md#br-my-02-urgent-claims-grouped-ahead-in-my-tasks-sort) | — | — |
| [Change the claim on a task](operations/op-8-change-claim-on-task.md) | Re-key a task to a different claim | Caller assigns a claim number | Claim number | Re-resolved claim data | [BR-CT-01](business-rules.md#br-ct-01-claim-task-must-reference-a-resolvable-claim) | — | — |
| [Assign or change the task owner](operations/op-9-assign-or-change-task-owner.md) | Validate and apply a task assignee | Assignment during creation or reassignment | MailID value | Validated assignee | [BR-CT-03](business-rules.md#br-ct-03a-assignee-validation-exemptions), [BR-CT-06](business-rules.md#br-ct-06-external-rtw-user-must-be-assigned-to-the-claim) | — | — |
| [Save a claim / Coverage B task](operations/op-10-save-claim-or-coverageb-task.md) | Persist a task's pending changes | Caller calls `Save`/`SaveChild` | Dirty task | Persisted task | — | — | — |
| [Complete a task](operations/op-11-complete-task.md) | Soft-delete a task as completed | `MarkCompleted()` call | Task instance | `Completed`/`DeleteFlag` set | [BR-CT-07](business-rules.md#br-ct-07-completing-a-notepad-required-task-marks-it-completed-before-soft-delete) | — | — |
| [Copy a task to another user](operations/op-12-copy-task-to-another-user.md) | Duplicate a task for a new assignee | Caller requests a copy | Target MailID | New task copy | [BR-CT-03](business-rules.md#br-ct-03a-assignee-validation-exemptions) | — | — |
| [Create and validate a Coverage B task](operations/op-13-create-and-validate-coverageb-task.md) | Instantiate and validate a Coverage B task | Caller requests a new Coverage B task | `IDataPortalInfo`, `ClaimID` | New validated `clsCoverageBTask` | [BR-CB-01](business-rules.md#br-cb-01-coverage-b-task-must-reference-a-valid-coverage-b-claim), [BR-CB-03](business-rules.md#br-cb-03-coverage-b-due-date-window-is-one-year), [BR-CB-05](business-rules.md#br-cb-05-coverage-b-due-date-rolls-to-next-working-day) | — | — |
| [Resolve a Coverage B category description](operations/op-14-resolve-coverageb-category-description.md) | Look up a cached Coverage B category description | `CategoryDescr` access | Category code | Description string | — | — | — |
| [Add a claim number to a Coverage B filter](operations/op-15-add-claim-number-to-coverageb-filter.md) | Translate a claim number to a claim ID filter | `CoverageBTaskCriteria.AddClaimNum` call | Claim number | Claim ID added to filter | [BR-CB-01](business-rules.md#br-cb-01-coverage-b-task-must-reference-a-valid-coverage-b-claim) | — | — |
| [Load the legacy task code table](operations/op-16-load-legacy-task-code-table.md) | Load all `LEGACY_TASK_CODE` reference rows | Factory call | none | Populated `clsLegacyTaskCodeCollection` | [BR-LTC-01](business-rules.md#br-ltc-01-legacy-task-codes-are-read-only) | [LEGACY_TASK_CODE](database-tables.md#legacy_task_code) | [SQL-002](sql/SQL-002-legacy-task-code-select.md) |
| [Convert between priority codes and enum values](operations/op-17-convert-priority-codes.md) | Map between `TaskPriority` enum and code strings | Priority conversion during creation/display | Enum or code string | Mapped value | [BR-GEN-06](business-rules.md#br-gen-06-unrecognized-priority-values-default-silently) | — | — |

## Process flow diagram
The following diagram visualizes the primary claim-task creation and retrieval flow.

```mermaid
flowchart TD
	Start([Caller requests task]) --> Create[Create claim task<br>OP-1]
	Create --> Enrich[Enrich via clsClaimData<br>OP-3]
	Retrieve([Caller requests list]) --> List[Retrieve filtered list<br>OP-5]
	List --> ExtraFields[Load extra fields via<br>PK82284_CLAIM_TASK<br>OP-4]
	MyTasks([User opens my tasks]) --> Redact[Retrieve and redact<br>OP-6]
	Redact --> Sort[Assign sort key<br>OP-7]
	Create --> Save[Save task<br>OP-10]
	ExtraFields --> Save
```

## Database interactions

The following table summarizes which operations read from or write to the database. Per-step SQL and table citations live in each operation's detail page under `operations/`.

| Operation | SQL | Tables | Type |
| --- | --- | --- | --- |
| [Enrich a loaded claim task](operations/op-3-enrich-loaded-claim-task.md) | [SQL-001](sql/SQL-001-select-additional-fields.md) | — | Read |
| [Load claim display/confidentiality fields](operations/op-4-load-claim-display-fields.md) | [SQL-001](sql/SQL-001-select-additional-fields.md) | — | Read |
| [Retrieve and redact "my tasks"](operations/op-6-retrieve-and-redact-my-tasks.md) | [SQL-001](sql/SQL-001-select-additional-fields.md) | — | Read |
| [Load the legacy task code table](operations/op-16-load-legacy-task-code-table.md) | [SQL-002](sql/SQL-002-legacy-task-code-select.md) | [LEGACY_TASK_CODE](database-tables.md#legacy_task_code) | Read |

## Failure and edge-case behavior
- Bulk-raise (OP-2) aborts with `ApplicationException("ClaimID not specified")` when no claim ID is supplied ([BR-GEN-01](business-rules.md#br-gen-01-generated-task-must-specify-a-claim)).
- Retrieve-and-redact (OP-6) throws `ApplicationException` for an unsupported task source system ([BR-MY-03](business-rules.md#br-my-03-unsupported-task-source-system-cannot-be-loaded)).
- Extra-fields load (OP-4) performs no row-count or error check; the failure mode when the claim does not exist is unknown.**

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Business rules](business-rules.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [Security and authorization](security-authorization.md)
- [API reference](api/index.md)

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- SAIF.Business.Tasks.Claim/clsClaimTask.vb
- SAIF.Business.Tasks.Claim/clsClaimTaskCollection.vb
- SAIF.Business.Tasks.Claim/clsClaimTaskGenerator.vb
- SAIF.Business.Tasks.Claim/clsCoverageBTask.vb
- SAIF.Business.Tasks.Claim/clsCoverageBTaskCollection.vb
- SAIF.Business.Tasks.Claim/clsLegacyTaskCodeCollection.vb
- SAIF.Business.Tasks.Claim/clsMyTaskCollection.vb
